﻿// Study0615.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
// 第六章 数组和指针 函数指针
//编写一个计算函数compute，对两个整数进行各种计算。有一个形参为指向具体算
//法函数的指针，根据不同的实参函数，用不同的算法进行计算
//编写三个函数：求两个整数的最大值、最小值、和。分别用这三个函数作为实参，测
//试compute函数

#include <iostream>
#include <cmath>
using namespace std;
int tmax(const int& num1, const int& num2)
{
	return num1 > num2 ? num1 : num2;
}
int tmin(const int& num1, const int& num2)
{
	return num1 < num2 ? num1 : num2;
}
int tsum(const int& num1, const int& num2)
{
	return num1 + num2;
}
int compute(int (*op)(const int&, const int& ), const int& num1, const int& num2)
{
	return op(num1, num2);
}

int main()
{
	int a = 10, b = 9, res;
	res = compute(tmax, a, b);
	cout << "Max of " << a << " and " << b << " is " << res << endl;
	res = compute(tmin, a, b);
	cout << "Min of " << a << " and " << b << " is " << res << endl;
	res = compute(tsum, a, b);
	cout << "Min of " << a << " and " << b << " is " << res << endl;
	return 0;
}


